package cliente.pagina.contenido.administracion;
import server.Server;
import utils.UtilsGenerarHtml;
import helpers.administracion.HelperAgregarQuitarUsuarioAula;
import helpers.secretaria.aula.HelperCrearAula1;
import cliente.pagina.*;
import cliente.pagina.contenido.*;
import comun.constantes.*;
/**
 * <p>Title: </p>
 * <p>Description: </p>
 * <p>Copyright: Copyright (c) 2004</p>
 * <p>Company: </p>
 * @author unascribed
 * @version 1.0
 */

public class ContenidoAgregarQuitarUsuariosAula  extends VistaContenido {
	
	private ContenidoAgregarQuitarUsuariosAula contenidoAgregarQuitarUsuariosAula;
	
	public ContenidoAgregarQuitarUsuariosAula() {
	}
	public String getTeclaAccesoRapido() {	
		return "";
	}
	public ContenidoAgregarQuitarUsuariosAula(Pagina pagina)
	{
		super(pagina);
		
	}
	
	// redefino el metodo abstracto de Vista contenido
	protected String getNombrePagina()
	{
		return "agregarQuitarUsuariosAula.jsp";
	}
	
	// redefino el metodo abstracto de Vista contenido
	public String getNombreRecurso()
	{
		return RECURSOS.AGREGAR_O_QUITAR_TIPO_DE_USUARIO;
	}
	
	// redefinida para dar la subcarpeta donde se colocarta el archivo
	protected String getSubcarpetaRecurso()
	{
		return CARPETAS_ARCHIVOS_RECURSO.ACTIVIDADES+"/"+this.getPagina().getIdAula()+"/"+this.getPagina().getIdComision()+"/";
	}
	
	public void setPagina(Pagina pagina)
	{
		super.setPagina(pagina);
	}
	
	// redefinirda en cada subclase para que retorne su encabezado de la tabla
	protected String encabezadoTabla(){return "";};
		
	public String getHTMLVista() { 
		HelperAgregarQuitarUsuarioAula helperAgregarQuitarUsuarioAula = null;
		HelperCrearAula1 helperCrearAula1 = null;
		String html = "";
		try{			
			/**-----------------------**/
			String agregarQuitar = this.getPagina().getParameter(PARAMETROS_PAGINAS.NOMBRE_BOTONES);
			String guardarCambios = this.getPagina().getParameter(PARAMETROS_PAGINAS.GUARDAR_CAMBIOS);
			if(agregarQuitar!=null){
				String retorno = "";
				helperAgregarQuitarUsuarioAula = new HelperAgregarQuitarUsuarioAula(this.getPagina());
				if(agregarQuitar.compareTo(ACCIONES_A_REALIZAR.AGREGAR)==0){
					Long idComi = null;
					if(this.getPagina() instanceof PaginaComision)idComi = this.getPagina().getIdComision();
					retorno = helperAgregarQuitarUsuarioAula.agregarTiposDeUsuariosAlAula(this.getPagina().getIdAula(),idComi);
					if(retorno!=null && retorno.compareTo(TEXTOS.ACTUALIZACION_DE_DATOS_EXITOSA)==0){
						ContenidoAsignaUsuarioComision contenidoAsignaUsuarioComision = new ContenidoAsignaUsuarioComision(this.getPagina());
						System.out.println("contenidoAsignaUsuarioComision.getPathNombrePagina()....."+contenidoAsignaUsuarioComision.getPathNombrePagina());
						String paginaForward = contenidoAsignaUsuarioComision.getPathNombrePagina();
						
						paginaForward = this.getReferencias(paginaForward);
						paginaForward = UtilsGenerarHtml.agregarParametroUrl(paginaForward,PARAMETROS_PAGINAS.ACCION,ACCIONES_A_REALIZAR.AGREGAR);
						html += utils.UtilsGenerarHtml.generarHTMLForward(paginaForward);
					}else html += UtilsGenerarHtml.getHTMLRecuadroMensajeError("No se agregaron los usuarios deseados.");
				}else if(agregarQuitar.compareTo(ACCIONES_A_REALIZAR.QUITAR)==0){
					retorno = helperAgregarQuitarUsuarioAula.quitandoTiposDeUsuariosAlAula();
					if(retorno!=null && retorno.compareTo(TEXTOS.ACTUALIZACION_DE_DATOS_EXITOSA)==0){
						html += UtilsGenerarHtml.getHTMLRecuadroMensajeOK("Se quitaron los usuarios deseados.",true,true);
					}else html += UtilsGenerarHtml.getHTMLRecuadroMensajeError("No se quitaron los usuarios deseados.");
				}
				helperAgregarQuitarUsuarioAula.commit();
			}else if(guardarCambios!=null && guardarCambios.compareTo(ACCIONES_A_REALIZAR.MODIFICAR)==0){
				  //Luego de agregar tipos de usuarios al aula, si asigno y luego presiono grabar.
				  helperCrearAula1 = new HelperCrearAula1(this.getPagina());
				  //System.out.println("ENTRO AL HACER EL GUARDAR.......");
				  String resultadoOperacion = helperCrearAula1.generarHTMLParticipantesDeLosTiposDeUsuario(true);
				  if(resultadoOperacion != null && resultadoOperacion.compareTo(TEXTOS.ACTUALIZACION_DE_DATOS_EXITOSA)==0){
					  html += UtilsGenerarHtml.getHTMLRecuadroMensajeOK("Se actualizaron los tipos de usuarios.",true,true); 
				  }
				  //System.out.println("TERMINO DE GUARDAR......");
				  helperCrearAula1.commit();
			}
			/**-----------------------**/
			html += "       <h1>Secretar&iacute;a</h1>\n";
		    html += "       <h4><img src=\""+this.getPagina().getPathLogoAulaAgregarTipo()+"\" />"+this.getTitulo()+"</h4>\n";/*align=\"absmiddle\"*/
		    helperAgregarQuitarUsuarioAula = new HelperAgregarQuitarUsuarioAula(this.getPagina());
			html += helperAgregarQuitarUsuarioAula.generarHTMLAgregarQuitarUsuariosAula();
			helperAgregarQuitarUsuarioAula.commit();
			return html;
		}
		catch (Exception ex) {
			ex.printStackTrace();
			if(helperAgregarQuitarUsuarioAula!= null)helperAgregarQuitarUsuarioAula.rollback();
			if(helperCrearAula1!= null)helperCrearAula1.rollback();
			return  comun.MensajeDeError.ERROR_EN_LA_GENERACION_DE_LA_PAGINA;
		}
	}
	
    /**
     * Retrona el titulo de la Pagina
     * @return
     */
    public String getTitulo()
    {
      return TITULOS_PAGINAS.AGREGAR_QUITAR_USUARIOS_DEL_AULA;
    }
	
//	redefino el metodo abstracto de Vista contenido
	public String getTituloLink()
	{
		return "\"Agregar o quitar tipos de usuarios al aula\">Agregar o quitar un tipo de usuario";
	}
	
	 protected boolean linkDisponible()
	    {
	      if (this.getPagina() instanceof PaginaCampus || this.getPagina() instanceof PaginaCarrera  )
	        return false;
	      else
	        return true;
	    }
		
	public void setContenidoAgregarQuitarUsuariosAula(ContenidoAgregarQuitarUsuariosAula contenidoAulaAdmTecnico1)
	{
		this.contenidoAgregarQuitarUsuariosAula = contenidoAulaAdmTecnico1;
	}
	public ContenidoAgregarQuitarUsuariosAula getContenidoAgregarQuitarUsuariosAula()
	{
		return contenidoAgregarQuitarUsuariosAula;
	}
	
	private String getReferencias(String paginaForward){
		paginaForward = UtilsGenerarHtml.agregarParametroUrl(paginaForward,PARAMETROS_PAGINAS.ID_ORGANIZACION,this.getPagina().getIdOrganizacion());
		paginaForward = UtilsGenerarHtml.agregarParametroUrl(paginaForward,PARAMETROS_PAGINAS.ID_AULA,this.getPagina().getIdAula());
		return paginaForward;
	}
	
	// redefino el metodo abstracto de Vista contenido
    public String getImagenLink()
    {
     return "<img src= \""+this.getPagina().getPathLogoAulaAgregarTipo()+" \">";
    }
	
}